解题思路:
第一处:由于函数返回是实数,所以必须定义返回的类型,只有整型或无结果返回可以忽略,其他必须定义返回的类型,所以要在此行前加上double或float。
第二处:缺少分号。
***************************************************
编写函数fun,它的功能是:计算并输出下列级数和:
1 1 1
S = ── + ── + … + ───
1×2 2×3 n(n+1)
例如,当n = 10时,函数值为:0.909091。
注意: 部分源程序在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入 你编写的若干语句。
给定源程序:
#include
double fun( int n )
{
}
main() /* 主函数 */
{
printf("%f\n", fun(10));
NONO();
}
解题思路:
本题是根据公式计算结果。使用for循环语句进行计算。但要注意的是:在除法运算中,如果除数和被除数都是整数,所以所除的结果也是整数,因此1应取实数或进行实型的类型转换。
参考答案:
double fun( int n )
{
double s = 0.0 ;
int i ;
for(i = 1 ; i <= n ; i++) s = s + 1.0 / (i * (i + 1)) ;
return s ;
}